package com.hsr.web.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hsr.web.config.ServerConfig;
import com.hsr.web.dto.ArticleQuery;
import com.hsr.web.dto.FileQuery;
import com.hsr.web.entity.TArticle;
import com.hsr.web.entity.TFile;
import com.hsr.web.mapper.TFileMapper;
import com.hsr.web.service.ITFileService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author tb
 * @since 2022-04-05
 */
@Service
public class TFileServiceImpl extends ServiceImpl<TFileMapper, TFile> implements ITFileService {

    @Autowired
    ServerConfig serverConfig;

    @Override
    public IPage<TFile> getList(FileQuery query) {
        LambdaQueryWrapper<TFile> wrapper= Wrappers.lambdaQuery();
        wrapper.like(StringUtils.hasLength(query.getFileName()),TFile::getFileName,query.getFileName())
                .like(StringUtils.hasLength(query.getFileDesc()),TFile::getFileDesc,query.getFileDesc());
        Page<TFile> page = page(new Page<>(query.getPage(), query.getSize()), wrapper);
        List<TFile> records = page.getRecords();
        records.forEach(item->item.setFileUrl(serverConfig.getUrl()+item.getFileUrl()));
        return page;
    }
}
